package jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;

/**
 * JDBC---java数据库链接
 */
public class JDBCDemo1 {
    public static void main(String[] args) throws Exception{

        /*  jar包
            1:加载驱动(加载不同数据库提供商提供的JDBC实现类)
            2:通过驱动管理器建立链接，创建Connection对象
            3:通过链接对象创建语句执行对象Statement
            4:通过语句对象执行SQL语句
            5:如果执行的是DQL(SELECT语句)，则会得到查询结果集
            6:遍历结果集获取数据库查询结果
            7:与数据库断开链接
         */
        /*
            JDBC中定义了一个接口:Driver
            所有数据库提供商在提供JDBC驱动时都要实现这个接口，提供实现类
            不同数据库实现类的包名和类名不完全一样，下面是MySQL提供的实现类。
            利用反射机制加载数据库驱动包中的驱动实现类(Driver实现类)
         */
        Class.forName("com.mysql.cj.jdbc.Driver");
        Connection connection=DriverManager.getConnection("jdbc:mysql://localhost:3306/tedu?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&rewriteBatchedStatements=true",
                                    "root",
                                    "root");
        System.out.println("与数据库成功连接!");

        Statement state=connection.createStatement();
        //创建数据库
        String sql="CREATE TABLE userinfo(\n" +
                "    id INT PRIMARY KEY AUTO_INCREMENT,\n" +
                "    username VARCHAR(32),\n" +
                "    password VARCHAR(32),\n" +
                "    nickname VARCHAR(32),\n" +
                "    age INT(3)\n" +
                ")";
        state.execute(sql);//执行该sql
        System.out.println("表创建完毕");
        //与数据库断开链接
        connection.close();




















    }
}
